a = 10
def fn():
    global a   #用来读取全局
    a = 20

fn()
print(a)

#全局变量&局部变量
#全局皆可访问的就是全局变量
#在函数中声明的变量就是局部变量，局部变量旨在函数中生效

def fn1():
    msg = '我是fn1的内部变量'
    def fn2():
        #用来读取外部作用域
        nonlocal msg
        msg = msg +'fn2修改后的内容'
        print(msg)
    return fn2
f = fn1()
f()
f()